﻿/***********************************************
* Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

	var offsetfromcursorX = 12 //Customize x offset of tooltip
	var offsetfromcursorY = 10 //Customize y offset of tooltip

	var offsetdivfrompointerX = 10 //Customize x offset of tooltip DIV relative to pointer image
	var offsetdivfrompointerY = 14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

    if (tooltipStyle)
    {
        if(document.getElementById(tooltipStyle) == null || typeof document.getElementById(tooltipStyle) == "undefined")
		    document.write('<div id="' + tooltipStyle + '"></div>'); //write out tooltip DIV
	    if(document.getElementById("dhtmlpointer") == null || typeof document.getElementById("dhtmlpointer") == "undefined")
		    document.write('<div id="dhtmlpointer"></div>') //write out pointer image
    }
    else
    {
	    if(document.getElementById("dhtmltooltip") == null || typeof document.getElementById("dhtmltooltip") == "undefined")
		    document.write('<div id="dhtmltooltip"></div>'); //write out tooltip DIV
	    if(document.getElementById("dhtmlpointer") == null || typeof document.getElementById("dhtmlpointer") == "undefined")
		    document.write('<div id="dhtmlpointer"></div>') //write out pointer image
    }

	var ie			= document.all
	var ns6			= document.getElementById && !document.all
	var enabletip	= false

	if (ie||ns6)
	var tipobj;
	var pointerobj;
    
    if (tooltipStyle)
    {
        tipobj		= document.all? document.all[tooltipStyle] : document.getElementById? document.getElementById(tooltipStyle) : ""
	    pointerobj	= document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""
    }
    else
    {
        tipobj		= document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
	    pointerobj	= document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""
    }
	function ietruebody()
	{
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

	function ddrivetip(thetext, thewidth, thecolor)
	{
	    if(thetext != "") /*Trọng modify*/
		    if (ns6||ie)
		    {
			    if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px"
			    if (typeof thecolor != "undefined" && thecolor != "") tipobj.style.backgroundColor = thecolor
			    tipobj.innerHTML = thetext
			    enabletip = true
			    return false
		    }	
	}
	/*function ddrivetip(thestyle, thetext, thewidth, thecolor)
	{	
	    alert(thestyle);
	    alert(thewidth);
	    if (ns6||ie)
		{
			if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px"
			if (typeof thecolor != "undefined" && thecolor != "") tipobj.style.backgroundColor = thecolor
			tipobj.innerHTML = thetext
			enabletip = true
			return false
		}	
	}*/

	function positiontip(e)
	{
		if (enabletip)
		{
			var nondefaultpos = false
			var curX = (ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
			var curY = (ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
			//Find out how close the mouse is to the corner of the window
			var winwidth	= ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
			var winheight	= ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

			var rightedge	= ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
			var bottomedge	= ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

			var leftedge	= (offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

			//if the horizontal distance isn't enough to accomodate the width of the context menu
			if (rightedge < tipobj.offsetWidth)
			{
				//move the horizontal position of the menu to the left by it's width
				tipobj.style.left	= curX - tipobj.offsetWidth + "px"
				nondefaultpos		= true
			}
			else if (curX < leftedge)
				tipobj.style.left = "5px"
			else{
				//position the horizontal position of the menu where the mouse is positioned
				tipobj.style.left		= curX + offsetfromcursorX + "px"
				pointerobj.style.left	= curX + offsetfromcursorX + "px"
				}
			//same concept with the vertical position
			if (bottomedge < tipobj.offsetHeight)
			{
				tipobj.style.top = curY - tipobj.offsetHeight - offsetfromcursorY + "px"
				nondefaultpos	 = true
			}
			else
			{
				tipobj.style.top		= curY+offsetfromcursorY + "px"
				pointerobj.style.top	= curY+offsetfromcursorY + "px"
			}
			tipobj.style.visibility = "visible"
			if (!nondefaultpos)
				pointerobj.style.visibility = "visible"
			else
				pointerobj.style.visibility = "hidden"
		}		
	}

	function hideddrivetip()
	{
		if (ns6||ie)
		{
			enabletip					 = false
			tipobj.style.visibility		 = "hidden"
			pointerobj.style.visibility	 = "hidden"
			tipobj.style.left			 = "-1000px"
			tipobj.style.backgroundColor = ''
			tipobj.style.width			 = ''
		}
	}
	document.onmousemove = positiontip
